﻿using System;

namespace 汉诺塔
{
    class Program
    {
        static void Main(string[] args)
        {
            // 三个柱子 'A','B','C',初始时'A'盘子上有3个圆环，从上到下依次增大
            // 每次可以将一个圆环从一个柱子移动到另一个柱子，但是前提是另一个柱子没有圆环或者最上面的圆环大于此次要移动的圆环
            // 尽可能少的移动圆环，使得最终所有圆环都在'C'柱子上

            DateTime start = DateTime.Now;
            Console.WriteLine("求解开始");

            int n = 3;
            Solution solution = new();
            solution.Dfs(n, 'A', 'B', 'C');


            DateTime end = DateTime.Now;
            Console.WriteLine("求解结束");
            Console.WriteLine($"耗时{(end - start).TotalMilliseconds}毫秒");
        }
    }
}
